package cn.com.w.redis.use.logic;


/**
 * 学习时间排行榜 逻辑
 */
public interface StudyTimeRankLogc {

    /**
     * 获取日榜 redis key
     *
     * @param courseCode 课程code
     * @param dateStr    日期yyyy-MM-dd
     * @return
     */
    String getRedisKeyForDayRank(String courseCode, String dateStr);

    /**
     * 获取周榜 redis key
     *
     * @param courseCode 课程code
     * @param weekOfYear 所在年份的第几周
     * @return
     */
    String getRedisKeyForWeekRank(String courseCode, Integer weekOfYear);

    /**
     * 获取月榜 redis key
     *
     * @param courseCode 课程code
     * @param month      月份，从0开始计数
     * @return
     */
    String getRedisKeyForMonthRank(String courseCode, String month);

    /**
     * 获取总榜 redis key
     *
     * @param courseCode 课程code
     * @return
     */
    String getRedisKeyForTotalRank(String courseCode);

    /**
     * 初始化缓存
     */
    void initCacheBatch();
}
